It is becoming increasingly common for users to store information in network-accessible repositories. These types of repositories are sometimes referred to as cloud storage. Users may store any type of information in such repositories, such as document data, message data, financial data, social network data, and so on.
In one case, a user may wish to store a collection of interrelated items. Such information can be represented as a graph. The nodes (or vertices) in the graph represent the items, while the edges that connect the nodes represent relationships among items. For example, a user can represent social contacts in the form of a graph. The nodes in such a graph represent people. The edges represent relationships among people. Such a graph may indicate that person A knows person B if a corresponding node A is connected to a node B.
Typically, the user entrusts a third party entity to administer such a repository. That third party entity may be implemented as a collection of network-accessible server computers and associated data stores. Based on contractual obligations, the user may have a reasonable expectation that the entity which administers the repository will maintain the information stored therein in confidence. That is, the user can reasonably expect that the entity will refrain from divulging this information to non-authorized recipients. The user can also expect that the entity will not themselves access and utilize the data in an unauthorized manner. Yet this expectation relies on trust, and there may be little, from a technical standpoint, to prevent an unscrupulous entity from violating that trust.
There are well known provisions to reduce the risk of unauthorized access to personal information stored in a remote repository. In one such provision, a user may restrict access to the information using a password-protection scheme. This provides some assurances that outside parties cannot gain access to the information. But this mechanism provides less restriction over actions taken by the entity which administers the repository. Further, this mechanism represents an all or nothing approach to access; namely, either a user has access to all of the information (by possessing a valid password) or none of the information. But an owner of information may wish to selectively grant access to information in a more fine-grained manner than this.
The above scenarios represent only illustrative issues associated with the storage of information using third parties or other entities. There may be other drawbacks associated with this type of storage and retrieval protocol.